package org.wwb.antbox.user.iservice.rolemenu;

import org.ant.commons.models.result.BaseResult;
import org.ant.iservice.common.IBaseService;
import org.wwb.antbox.user.model.rolemenu.entity.SysRoleMenu;
import org.wwb.antbox.user.model.rolemenu.model.SysRoleMenuAddModel;
import org.wwb.antbox.user.model.rolemenu.model.SysRoleMenuDelModel;
import java.util.List;

/**
 * @Author Bond
 * @Date: 2020/2/23 10:39
 * @Description: 角色菜单关系Service
 */
public interface ISysRoleMenuService extends IBaseService<SysRoleMenu, String> {

    /**
     * 获取角色下的所有已拥有菜单Id集合
     * @param roleId 角色Id
     * @return BaseResult<List<String>>
     */
    BaseResult<List<String>> getRoleMenuIdList(String roleId);

    /**
     * 添加角色菜单关系
     * @param sysRoleMenuAddModel
     * @return BaseResult<String>
     */
    void saveSysRoleMenu(SysRoleMenuAddModel sysRoleMenuAddModel);

    /**
     * 删除角色菜单关系
     * @param sysRoleMenuDelModel
     * @return BaseResult<Integer>
     */
    BaseResult<Integer> delSysRoleMenu(SysRoleMenuDelModel sysRoleMenuDelModel);

    /**
     * 删除角色菜单关系
     * @param roleId 角色id
     * @param menuIds 菜单id集合
     */
    void delSysRoleMenuByRoleIdAndMenuIds(String roleId, List<String> menuIds);
}
